<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h2>promise的三个状态</h2>
    <ul>
        <li>pending：初始化。</li>
        <li>fulfilled：成功状态。</li>
        <li>rejected：失败状态。</li>
    </ul>
    <script>
        let boo = Math.random() <= 0.5;


        // Promise构造方法需要传入一个函数进行构造
        //  函数有两个参数，都是函数。
        //    第一个函数：调用之后把promise的状态变为成功
        //    第二个函数：调用之后把promise的状态变为失败
        let promise = new Promise(function(resolve,reject) {
            setTimeout(() => {
                if (boo) {
                    resolve("成功了");
                } else {
                    reject("失败了");
                }
            },1000);
        });

        // 在对象上调用then方法，用于处理promise的结果
        // then函数中有调用回调函数
        //   第一个回调函数：promise成功之后所执行的逻辑
        //   第二个回调函数：promise失败之后做执行的逻辑
        // 两个回调函数的形式参数，但是promise状态变更函数所提交过来的参数
        promise.then(function(res) {
            console.log(res);
            console.log("我可以吃火锅了！")
        },
        function(res) {
            console.log(res);
            console.log("我没有买到菜，我对不起大家")
        })

        console.log("我先烧着水");

    </script>
</body>
</html>